The present disclosure relates in general to the field of computer development, and more specifically, to software development involving coordination of mutually-dependent constrained systems.
Modern software systems often include multiple programs or applications working together to accomplish a task or deliver a result. For instance, a first program can provide a front end with graphical user interfaces with which a user is to interact. The first program can consume services of a second program, including resources of one or more databases, or other programs or data structures. In some cases, multiple interoperating computer programs and resources can be controlled or developed by a single entity, such as a single enterprise, publisher, or developer. In other instances, interoperating programs and resources can be developed and controlled by different parties. In some cases, access to a system component can be constrained in connection with the testing or development of the program (or its constituent components) that are to interoperate with the other components, for instance, when the component is a live production database and cannot be conveniently brought offline, is owned or controlled by a third party, or is, itself, under development.